#ifndef __VERTEX_H__
#define __VERTEX_H__

#include "point.h"
#include "half_edge.h"

class Vertex{
    public:
        Vertex(unsigned int, Point&);
        Vertex(unsigned int, Point&, HalfEdge*);
        ~Vertex();

        void setPoint(Point&);
        void setHE(HalfEdge *);

        unsigned int getID();
        Point getPoint();
        double* getPointVector();
        HalfEdge *getHE();

        void scale(double);
        void translate(Point);

        void select(bool);
        bool isSelected();

    private:
        unsigned int id;
        Point coord;
        HalfEdge* he;
        bool selected;
};

#endif
